#ifndef __DAF_EVENT_STORE_H__
#define __DAF_EVENT_STORE_H__

#include <string>
#include <map>

namespace Gazella {
namespace Daf {
class DafEventStore {
public:
    DafEventStore();
    ~DafEventStore();

    void     set  (const std::string& identifier, bool alarm);
    uint32_t get  (const std::string& identifier);
    void     reset(const std::string& identifier);

    void set_triggered(const std::string& identifier, bool triggered);
    bool get_triggered(const std::string& identifier);

private:
    //key: property identifier
    //value: continue alarm times
    std::map<std::string, uint32_t> m_alarm_map;

    //key: property identifier
    //value: is triggered
    std::map<std::string, bool>     m_trigger_map;
};
}
}

#endif